ДОСЛІДЖЕННЯ ВИКОНАННЯ ЦИКЛІВ НА КОНВЕЄРІ ІНСТРУКЦІЙ

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
КН
Кафедра:
Кафедра ЕОМ

Інформація про роботу

Рік:
2012
Тип роботи:
Лабораторна робота
Предмет:
Інші

Частина тексту файла

Міністерство освіти і науки України Національний університет “Львівська політехніка” Кафедра ЕОМ Лабораторна робота №2 ДОСЛІДЖЕННЯ ВИКОНАННЯ ЦИКЛІВ НА КОНВЕЄРІ ІНСТРУКЦІЙ Мета: дослідження виконання циклів на конвеєрі інструкцій Нехай симулюється наступна програма, записана мовою асемблер. Програма знаходить суму десяти чисел (від 1 до 10 з кроком 1, відповідь є 0х37 = 55 десяткове). Ясно, що в пам’яті програмно резервують (.word) з ініціалізацією 10 комірок з доданками, а також (без ініціалізації, .space) місце для результату (суми). ; Program: loop.s ; Sum of 10 integer values .data values: .word 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ; 64-bit integers result: .space 8 .text MAIN: daddui R1,R0,10 ; R1 <- 10 dadd R2,R0,R0 ; R2 <- 0 POINTER REG dadd R3,R0,R0 ; R3 <- 0 RESULT REG LOOP: ld R4,values(R2) ;GET A VALUE IN R4 dadd R3,R3,R4 ; R3 <- R3 + R4 daddi R2,R2,8 ; R2 <- R2 + 8 POINTER INCREMENT daddi R1,R1,-1 ; R1 <- R1 - 1 DECREMENT COUNTER bnez R1,LOOP nop sd R3,result(R0) ; Result in R3 HALT ; the end Будемо користуватися процесором, де задіяні апаратні механізми випередження даними і прогнозування напрямку умовного перходу за допомогою буфера цільових адрес переходу (branch target buffer, BTB).  Рис. 1 – Основне вікно симулятора зі завантаженою програмою (одне дочірнє вікно не видно). Дозволено використання апаратури випередження (forwarding) і апартури передбачення напрямку умовного переходу (branch target buffer)  Рис. 2 – Основне вікно симулятора, чітко видно вмістиме пам’яті до старту виконання програми  Рис. 3 – Основне вікно симулятора, виконано 7 циклів симулювання. Є перше RAW (read after write)  Рис. 4 – Дочірнє вікно “конвеєр” симулятора, перше RAW пригальмування, 7 тактів симулювання  Рис. – Друге RAW пригальмування. Виконано 10 тактів  Рис. – Виконано 11 тактів симулювання, сталося перше пригальмування за рахунок виконаного умовного переходу (branch taken stall)  Рис. Стан виникнення першої gомилки в передбаченні напрямку умовного переходу (Branch misprediction stall)  Рис. – Головне вікно симулятора по завершенню симулювання програми ЦИКЛ СРІ – це (середнє) число тактових інтервалів (cycles per instruction), що припало на виконання кожної інструкції програми. В ідеальному випадку для нашого п’ятисходинкового конвеєра маємо СРІ=1, але залежності поміж інсирукціями через дані (data hazards, RAW, WAR, WAW) збільшують СРІ, тобто часові витрати на виконання програми. По виконанню програми з оптимізованою апаратурою втрати конвеєра інструкцій склали 20 RAW-пригальмувань, 2 пригальмування під час виконання виконаних взятих, виконаних умовних переходів (Branch taken) і ще 2 пригальмування через помилками передбачення напрямку умовного переходу апаратними засобами (тут використовується буфер цільових адрес переходів - branch target buffer).Ясно, що при використанні неоптимізованої апаратури час виконання програми зросте. Симулюванням треба подати відповідь та питання – коли, чому, наскільки?
Антиботан аватар за замовчуванням

30.04.2013 23:04

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини